Present day communication systems typically perform various signal processing functions in order to provide Communication. One common signal processing element in communication systems is a filter, which generally provides an output signal y(t) that depends on an input signal x(t). Such filters can be designed to perform various useful functions in a communication system, such as attenuating interfering signals and/or out of band noise. Filtering is well known, and accordingly many filter implementations have been developed. Here we are concerned with transversal filters.
FIG. 1 is a block diagram of a typical prior art transversal filter. In the filter of FIG. 1, the input x(t) is provided to a delay line including time delay elements 104, 106, 108, . . . in succession. If the time delays provided by delay elements 104, 106, 108, . . . are all equal to Td, then the outputs of delay elements 104, 106, . . . are x(t−Td), x(t−2Td), etc. The filter output y(t) is a weighted sum of the values provided by the delay line. This sum is provided by multiple filter taps, one of which is labeled as 110 on FIG. 1. In tap 110, a weight 114 having a value W2 and the output of delay element 104 are provided to a multiplier 120. The output of multiplier 120 is received by a summing junction (or summer) 124 which provides y(t) as an output. Thus, tap 110 provides a term equal to W2x (t−Td) in the output y(t). Similarly, weight 112 and multiplier 118 provide a term W1x(t) in y(t), and weight 116 and multiplier 122 provide a term W3x(t−2Td) in y(t). Transversal filters can have any number of taps. The input-output response of the filter (i.e., the relation between y(t) and x(t)) is determined by the tap weights Wj and the delays provided by the delay line.
FIG. 2 shows a typical prior art adaptive transversal filter. On FIG. 2, a transversal filter 202 receives an input x(t) and provides an output y(t). In the example of FIG. 2, filter 202 is a three tap filter having tap weights W1, W2, and W3. The filter output y(t) is also provided to an error estimator 204, which derives an error signal in part from the filter output y(t). Typically, other signals (not shown) are also input to error estimator 204. These other signals, along with y(t), are used to derive the error signal. This error signal is received by a weight generator 206, which controls the weights in filter 202 to minimize the error signal. Thus the arrangement of FIG. 2 functions as a filter control loop that controls the weights Wj in order to minimize the error signal. Transversal filters are particularly suitable for such adaptive filtering, since the output y(t) depends on the weights Wj in a simple manner that facilitates closed loop control.
Such adaptive filtering has found many applications, which primarily differ in the signal that is regarded as the “error signal” to be minimized. For example, in decision feedback equalization, the error signal is an error estimate provided by a slicer that quantizes the filter output y(t) to a set of digital signal levels. In interference cancellation, the error signal to be minimized is the contribution to the output y(t) from an interfering signal z(t). These various alternatives for the error signal to be minimized correspond to delivery of different signals (not shown) to error estimator 204 in addition to filter output y(t).
Adaptive filtering as shown in FIG. 2 is well known, and various modifications of the basic scheme are typically directed toward reducing the computations required for filtering. The multiplication of tap weight and delayed input is of particular interest in the art. For example, U.S. Pat. No. 4,782,458 considers the restriction of tap weights to powers of two, which allows multiplication to be performed by shifting. Similarly, U.S. Pat. No. 4,691,293 considers encoding the filter input in powers of two, which also allows multiplication to be performed by shifting. U.S. Pat. No. 3,959,637 uses delta coding for the tap weights in order to obviate the need for digital multiplication circuits. U.S. Pat. No. 4,031,377 considers multiplication where a floating point factor is approximately expressed as a sum of two terms, the two terms selected to facilitate rapid multiplication by shifting.
However, the conventional arrangement of FIG. 2 has drawbacks that provide room for improvements other than reducing computation time. Consider an example where the tap weights Wj are digital and can vary from −511 u to 512 u, where u is a unit weight. A relatively large tap weight having W on the order of 500 u has a precision of about 0.2%, while a relatively small tap weight having W on the order of 10 u only has a precision of about 10%. Thus, smaller tap weights tend to be less precise than large tap weights. An alternative point of view is to regard +/−1 u as a “quantization noise” which is additive to the tap weights. Such quantization noise has a larger relative impact on small tap weights than on large tap weights in the conventional arrangement of FIG. 2.
Accordingly, it would be an advance in the art to provide adaptive transversal filtering that provides improved precision for relatively low tap weights. It would also be an advance in the art to reduce the impact of quantization noise for relatively small tap weights.